home *** CD-ROM | disk | FTP | other *** search
/ PC Users 1998 November / Cd users extra 14.iso / prog / inst / pcu / encima / modulo.bas < prev    next >
Encoding:
BASIC Source File  |  1998-10-11  |  1.3 KB  |  38 lines

  1. Attribute VB_Name = "Modulo"
  2. Option Explicit
  3.  
  4. 'La funci≤n API que vamos a necesitar
  5. Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  6.  
  7. 'Constantes necesarias para la funci≤n SetWindowPos.
  8. 'Se pasan en el ·ltimo parßmetro y se usan entre
  9. 'el operador l≤gico OR
  10. Public Const HWND_TOPMOST = -1     'Situa el form encima de todos
  11. Public Const HWND_NOTOPMOST = -2   'Vuelve al estado normal
  12. Public Const SWP_NOSIZE = &H1      'Para no cambiar el tama±o
  13. Public Const SWP_NOMOVE = &H2      'Para no mover el form
  14. Public Const SWP_NOACTIVATE = &H10 'Para no activarlo
  15. Public Const SWP_SHOWWINDOW = &H40 'Para que muestre el form
  16.  
  17. 'Vuelve un formulario a su estado normal
  18. Public Sub SituarNormal(F As Form)
  19.    Dim wFlags As Long
  20.    
  21.    'Para que no cambie ni el tama±o ni la posici≤n
  22.    wFlags = SWP_NOMOVE Or SWP_NOSIZE
  23.    
  24.    Call SetWindowPos(F.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, wFlags)
  25. End Sub
  26.  
  27. 'Hace que un form sea "Always on Top"
  28. Public Sub SituarEncima(F As Form)
  29.    Dim wFlags As Long
  30.    
  31.    'Para que no cambie el tama±o ni la posici≤n
  32.    wFlags = SWP_NOMOVE Or SWP_NOSIZE
  33.    
  34.    Call SetWindowPos(F.hwnd, HWND_TOPMOST, 0, 0, 0, 0, wFlags)
  35. End Sub
  36.  
  37.  
  38.